
ATENCAO: 
1) As informacoes deste documento tambem estao disponiveis nos
arquivos leiame.txt e supsnet.txt contidos no arquivo de download.

2) Este aplicativo foi desenvolvido para a plataforma SOLARIS, 
tendo sido testado na verso 2.5.1.


Notas de Instalacao do SupsNET 2.1.1
------------------------------------

O SupsNET e' distribuido na forma de um arquivo tar comprimido,
denominado supsnet21_1.tar.Z. Este arquivo deve ser descompactado
utilizando-se o utilitario "compress" e depois o conteudo deve ser extraido
com o utilitario "tar".

O arquivo supsnet21_1.tar.Z contem um subdiretorio denominado
supsnet, que por sua vez contem os seguintes arquivos/diretorios:

  leiame.txt: informaes iniciais
     supsnet: programa executavel
 supsnet.ini: arquivo de configuracao
 supsnet.txt: documentacao
        html: diretorio raiz do servidor HTTP

Caso o arquivo seja descompactado no diretorio /usr/local, por exemplo,
sera' criado o diretorio /usr/local/supsnet. Para iniciar
o programa, va para o diretorio /usr/local/supsnet e execute a seguinte
linha de comando: supsnet supsnet.ini

O SupsNET entra em background e permanece assim ate' que seja encerrado
atraves de um comando KILL.

Esta versao 2.1 do SupsNET foi projetada para o ambiente Solaris 2 (Sparc)
somente.


SupsNET 2.1 - versao Unix
-------------------------

1. Introducao
   ----------

1.1. Descricao do Sistema
     --------------------

O programa SupsNET inclui modulos que permitem a supervisao e o gerenciamento
completo de um no-break Engetron.

O sistema encontra-se disponivel para a plataforma Solaris2 (arquitetura Sparc).
A comunicacao com o no-break e feita atraves de um cabo serial padrao RS-232,
fornecido junto com o equipamento.
A comunicacao com elementos externos e feita atraves dos protocolos SNMP, 
Telnet e HTTP para redes TCP/IP, o que permite o gerenciamento remoto do
no-break.

Os quatro modulos que compoem o sistema sao:

Supervisao: monitora o estado do no-break periodicamente, coletando dados como
            voltagem, corrente, autonomia, etc.

Agente SNMP: permite que estacoes de gerenciamento consultem e/ou alterem o
             estado das variaveis do no-break definidas pelo padrao RFC 1628
             ("UPS Management Information Base"). E capaz tambem de enviar
             notificacoes (traps) a uma estacao de gerenciamento quando
             da ocorrencia de alarmes.

Servidor Telnet: permite que uma estacao remota conecte-se diretamente ao
         no-break atraves do protocolo Telnet, definido no RFC 854 ("Telnet
         Protocol Specification").

Servidor HTTP: permite a configuracao e a supervisao do no-break atraves de um
         browser para Internet/Intranet, atraves do protocolo HTTP.


1.2. Instalacao
     ----------

A unica exigencia de hardware para o funcionamento do SupsNET e a existencia de
uma interface serial livre no computador em que o programa vai ser instalado.

O arquivo leiame.txt contem informacoes especificas sobre a instalacao dos
arquivos que compoem o sistema. Uma vez instalado, o arquivo de configuracao
supsnet.ini deve ser configurado manualmente.

O programa deve ser disparado executando-se o programa supsnet.

2. Supervisao do No-Break Engetron
   -------------------------------

2.1. Funcionamento
     -------------

O SupsNET monitora, periodicamente e de maneira automatica, o estado de algumas
variaveis internas do no-break. O intervalo com que esta monitoracao e feita e
especificado no parametro Periodo do arquivo de configuracao (em segundos).

Os seguintes valores, entre outros, sao coletados tipicamente a cada 30
segundos: tensao, corrente e frequencia para entrada, saida e bateria; autonomia
do no-break em minutos; temperatura interna; indicadores de sobrecarga, etc.

Caso a comunicacao com o no-break seja interrompida (mal funcionamento ou
desconexao do cabo, por exempo), o programa reporta imediamente o fato para uma
estacao de gerenciamento atraves do envio de uma notificacao, caso o agente
SNMP esteja ativo.

Um resumo dos principais eventos ocorridos apos o SupsNET iniciar a execucao
pode ser encontrado no arquivo supsnet.evt. Cada evento possui um indicador de
severidade (primeira coluna do arquivo) e uma descricao. 
Ha tres severidades: critico, identificada pelo numero 3, aviso, identificada 
pelos numeros 2 ou 1, e informacao, indicada pelo numero 0. 

Eventos criticos impedem o funcionamento normal do SupsNET, como falha na
comunicacao com o no-break.

Eventos da severidade aviso indicam situacoes de erro que nao comprometem o
funcionamento do SupsNET, como a utilizacao de uma senha incorreta por parte de
um cliente Telnet, ou situacoes como o encerramento de algum modulo (Agente
SNMP, servidor Telnet ou servidor HTTP).

Eventos da severidade informacao indicam o inicio de operacao de algum modulo,
a mudanca de alguma configuracao ou o inicio/encerramento de conexoes Telnet. 

Todas as vezes em que falta energia ou em que a energia e restabelecida, uma
mensagem e enviada aos usuarios da maquina local indicando a ocorrencia.


2.2. Configuracao
     ------------

Para que o SupsNET possa se comunicar com o no-break e necessario especificar
tres parametros no arquivo de configuracao (denominado supsnet.ini).
A configuracao pre-definida e a seguinte:

Serial=/dev/ttya
Palavra=N81
Velocidade=9600

Neste caso, o SupsNET utilizara a interface serial ttya, a uma velocidade de
9600 bps, 8 bits de dados, nenhums paridade e  1 "stop bit". Estes parametros
sao os mesmos com que o no-break e pre-configurado em fabrica. O parametro
Velocidade e ajustado automaticamente pelo SupsNET.

E importante notar que se a configuracao interna do no-break for alterada
(mudando-se a configuracao da palavra, por exemplo), o SupsNET deve ser
encerrado e o arquivo de configuracao deve ser alterado de acordo (neste
exemplo, mudando-se a segunda linha). So entao o SupsNET deve ser disparado
novamente. Caso as configuracoes estejam diferentes, o SupsNET nao sera 
capaz de se comunicar com o no-break e, consequentemente, nao sera capaz de
supervisiona-lo.

Valores tipicos para o parametro Serial sao: /dev/ttya, /dev/ttyb.
Valores tipicos para o parametro Velocidade sao: 1200, 2400, 4800, 9600, 19200.
Para o parametro Palavra, o primeiro caracter deve ser N (sem paridade) ,
E (paridade par) ou O (paridade impar). O segundo caracter especifica o tamanho
da palavra de dados, e deve ser 5, 6, 7 ou 8. O terceiro caracter especifica o
numero de "stop bits", e deve ser 1 ou 2.
OBS: nem todas as interfaces seriais aceitam qualquer combinacao dos valores
acima.

Demais parametros relativos a supervisao:

UsaSenha: 1 se o modelo do no-break exige uma senha para configuracao,
0 caso contrario. Consulte o manual do no-break para obter esta informacao.

Senha: senha configurada no no-break.

Periodo: periodo com que o SupsNET interroga o no-break para ler os valores de
suas variaveis internas. Quanto menor o periodo, mais acuradas sao as
informacoes fornecidas, mas maior tambem e a carga imposta a maquina em que o
SupsNET esta executando. Tipicamente este valor varia de 30 a 60 segundos.

Descricao: uma descricao generica do ambiente em que se localiza o no-break.
Esta descricao faz parte da base de informacoes que uma estacao de gerenciamento
pode consultar. Um exemplo de descricao seria "Laboratorio de desenvolvimento".
A descricao e apresentada tambem na pagina inicial fornecida pelo servidor HTTP.

Os parametros relativos a shutdown permitem que se configure as condicoes em
que o SupsNET deve efetuar um shutdown na maquina local:

EnviaMensagem: se 1, o SupsNET enviara aos usuarios da maquina local uma
mensagem configurada quando a autonomia do no-break for menor ou igual ao tempo
especificado.

EnviaShutdowm: se 1, o SupsNET executa um shutdown na maquina local se
a autonomia do no-break for menor ou igual ao tempo especificado em 
TempoShutdown (em minutos). Se a programacao horaria do no-break estiver ativa
e chegar a hora do desligamento, o SupsNET tambem efeturar o shutdown local,
utilizando o mesmo tempo de shutdown por autonomia.

EnviaShutdowmFalta: se 1, o SupsNET executa um shutdown na maquina local se
o no-break estiver operando em bateria pelo tempo especificado em
TempoShutdownFalta (em minutos).

EnviaShutdownProgHora: se 1, o SupsNET executa um shutdown na maquina local se
o tempo para o desligamento programado do no-break (programacao horaria) for
menor ou igual ao tempo especificado em TempoShutdownProgHora (em minitos).

EnviaComando: se esta opcao estiver ativa, caso as condicoes atuais
determinem que um shutdown deva ser executado, o comando especificado no
parametro Comando e executado quando faltar o tempo especificado para o
shutdown, ou imediatamente antes do shutdown, caso nao haja mais tempo.
O comando pode ser, por exemplo, um script com diversas tarefas a seram feitas
antes do shutdown. E possivel especificar o caminho completo do comando
(diretorio e arquivo).


2.3. Resolucao de problemas
     ----------------------

Apos iniciar o SupsNET, e possivel acompanhar o seu funcionamento monitorando-se
o arquivo supsnet.evt.

Caso haja um problema de comunicacao, verifique as configuracoes de interface
serial, o cabo utilizado para conectar o no-break a maquina, e as permissoes da
serial.

Deve ser utilizado o cabo fornecido junto com o equipamento. Os unicos
conectores adicionais que eventualmente podem ser utilizados sao conversores de
9 para 25 pinos (caso a interface serial de seu computador possua 25 pinos)
e/ou conversores de pinagem macho/femea. Nao deve ser utilizado um conector do
tipo "null-modem", pois o cabo ja possui esta funcionalidade.

Se ainda assim o SupsNET nao conseguir comunicar-se com o no-break, encerre o
programa e tente utilizar outro programa de emulacao de terminal. No caso do
Solaris 2, pode ser utilizado o programa tip, configurando-o com os mesmos
parametros de comunicacao (serial, velocidade, palavra, paridade e "stop-bits")
do SupsNET. Digite um ENTER e aguarde a resposta do no-break: aparecendo o
sinal de comando ("S>"), a comunicacao esta OK, indicando que o problema deve
estar no SupsNET. Como ultima medida, execute-o novamente e utilize a opcao de
"debug" para analisar o problema com mais detalhes. Caso nao apareca o sinal de
comando, o problema deve ser um cabo, conector ou interface serial defeituosos.


3. Agente SNMP
   -----------

3.1. Funcionamento
     -------------

Um dos modulos que compoem o SupsNET e um agente SNMP que implementa a MIB
("Management Information Base", ou base de informacoes de gerenciamento)
descrita no RFC 1628. Os seguintes grupos desta MIB sao implementados: upsIdent,
upsBattery, upsInput, upsOutput, upsAlarm, upsTest, upsControl, upsConfig e
upsTraps.

Os dados coletados no modulo de supervisao sao convertidos para o formato da
MIB e, deste modo, passam a estar disponiveis para estacoes de gerenciamento que
utilizam o protocolo SNMP. Determinadas variaveis tambem podem ter seus valores
alterados, o que pode refletir no envio automatico de algum comando ao no-break
para realizar a(s) operacao(oes) correspondentes.

O agente tambem e capaz de enviar notificacoes a uma estacao de gerenciamento
(ou simplesmente gerente) para alerta-la de alguma situacao que mereca alguma
providencia especifica. Como exemplo, caso o no-break esteja operando em bateria
e a autonomia seja menor do que um valor determinado (configuravel), o seguinte
cenario pode acontecer: o agente registra o fato na lista de alarmes de sua
base de informacoes e envia uma notificacao ("trap") ao gerente informando-o de
que surgiu um alarme novo. O gerente pode entao, interrogar o agente para 
recuperar a lista de alarmes presentes e tomar as medidas cabiveis, como por
exemplo, comandar o desligamento ("shutdown") das maquinas ligadas ao no-break. 
OBS: a RFC 1628 recomenda este tipo de comportamento para a supervisao de
alarmes.


3.2. Configuracao
     ------------

Os parametros do arquivo de configuracao relativos ao agente SNMP sao os
seguintes:

Comunidade: o nome da comunidade SNMP ("community") que tem permissao para
acessar a MIB do agente. Caso alguma requisicao especifique outra comunidade,
a mesma sera rejeitada pelo agente. O definicao da comunidade funciona como um
metodo simples de se implementar um controle de acesso.

AtivaSNMP: 1 se o agente SNMP deve ser ativado, 0 caso contrario.

SNMP: o numero (em decimal) do porto UDP utilizado pelo agente SNMP para receber
requisicoes. O valor padrao para este servico e definido como 161. 

SNMPComplementar: o numero (em decimal) do porto UDP utilizado pelo agente SNMP
para enviar requisicoes a outro agente SNMP que esteja na mesma maquina. Este e
o mecanismo utilizado pelo agente para complementar as informacoes da sua base.
Caso uma requisicao especifique uma variavel contida na MIB do RFC 1628, o
agente respondera imediatamente. Caso a variavel nao pertenca a esta MIB, o
agente pode consultar um outro agente generico que possua esta informacao. Esta
opcao indica em qual porto UDP este outro agente recebe requisicoes. 
O Solaris 2 nao dispoe de um agente SNMP generico, portanto caso se deseje
utilizar esta funcionalidade, deve ser instalado um programa externo (de
terceiros). Deste modo, uma estacao de gerenciamento pode consultar as bases
complementares dos dois agentes de modo transparente, acessando um unico porto
UDP, definido no parametro SNMP.

ComunidadeTrap: o nome da comunidade SNMP ("community") que o agente utiliza
quando envia uma notificacao ("trap") a uma estacao de gerenciamento (gerente).
Este nome deve ser uma comunidade que o gerente aceite como receptora de
notificacoes.

SNMPTrap: o numero (em decimal) do porto UDP para o qual o agente deve enviar
as notificacoes. O valor padrao para este servico e definido como 162, mas caso
o gerente receba notificacoes em outro porto este valor deve ser alterado.

Gerente: nome ou numero IP da maquina em que o gerente se encontra.


3.3. Resolucao de problemas
     ----------------------

Para testar a funcionalidade do agente SNMP, e necessario uma estacao de
gerenciamento (gerente) externa que utilize o protocolo SNMP. Consulte a
documentacao do gerente utilizado para obter maiores informacoes.

Os parametros ComunidadeTrap, SNMPTrap e Gerente devem estar configurados de
acordo com a especificacao do gerente. Caso contrario, o agente nao sera capaz
de enviar notificacoes ao gerente.

Do mesmo modo, o gerente deve utilizar a comunidade especificada no parametro
Comunidade. Caso contrario, as requisicoes do gerente serao rejeitadas pelo
agente.


4. Servidor Telnet
   ---------------

4.1. Funcionamento
     -------------

Um dos modulos que compoem o SupsNET e um servidor Telnet que implementa o
protocolo descrito no RFC 854 ("Telnet Protocol Specification").

O servidor Telnet e monousuario, ou seja, aceita apenas uma conexao por vez.
Qualquer cliente Telnet compativel com o protocolo pode ser utilizado,
independente da plataforma (Windows, UNIX, DOS, etc).

Quando uma conexao e estabelecida, o servidor espera a digitacao de uma senha,
enviando a sequencia "Senha:".  Esta senha pode ser configurada no parametro
SenhaTelnet. Se em ate tres tentativas a senha correta nao for digitada, a
conexo e encerrada pelo servidor.

Se a senha estiver correta, inicialmente o servidor apresenta o seguinte menu:

SupsNET 2.0 / Engetron
 
[ A ]   Opcoes.
[ B ]   Conectar-se ao No-Break.
 
[ ESC ] Para sair.

Selecionando-se A (Opcoes), tem-se acesso a maioria dos parametros do arquivo
de configuracao. Desta forma, e possivel configurar o SupsNET remotamente
atraves de uma conexao Telnet. Todas as telas decorrentes desta opcao sao
auto-explicativas e possuem a mesma estrutura: uma letra de A a Z seleciona a
opcao e a tecla ESC retorna ao nivel anterior.

Selecionando-se B (Conectar-se ao No-Break), tem-se acesso a linha de comando
do no-break. Neste modo, e possivel interagir diretamente com o no-break,
enviando comandos e recebendo as respostas correspondentes. Para sair deste
modo, deve-se digitar a tecla ~ (til), o que traz o servidor de volta ao seu
estado inicial.

E importante notar que durante o periodo de uma sessao Telnet, o SupsNET altera
a maneira de supervisionar o no-break. Para que comandos enviados pelo cliente
Telnet nao se misturem com os comandos usados para supervisao, o SupsNET
interrompe momentaneamente a supervisao. Entretanto, para nao correr o risco de
permanecer inativo por um grande periodo de tempo (devido a uma conexao Telnet
muito demorada), o SupsNET pode interromper a sessao momentaneamente enviando a
mensagem:

Sua sessao Telnet sera momentaneamente INTERROMPIDA. Aguarde ...

O SupsNET realiza entao, um ciclo normal de supervisao, apos o que restabelece
a sessao Telnet enviando a mensagem:

Sua sessao Telnet foi restabelecida.

O periodo com que o SupsNET interrompe a sessao Telnet e configurado no
parametro SessaoTelnet.


4.2. Configuracao
     ------------

Os parametros do arquivo de configuracao relativos ao servidor Telnet sao os
seguintes:

AtivaTelnet: 1 se o servidor Telnet deve ser ativado, 0 caso contrario.

Telnet: o numero (em decimal) do porto TCP utilizado pelo servidor Telnet para
aceitar conexoes. O valor padrao para este servico e definido como 23.

SenhaTelnet: a senha do servidor Telnet.

SessaoMaxima: o tempo maximo, em minutos, que um cliente Telnet pode permanecer
conectado ao servidor sem ser interrompido. A cada interrupcao, a sessao nao e
finalizada, apenas momentaneamente suspensa.


4.3. Resolucao de problemas
     ----------------------
Para testar a funcionalidade do servidor Telnet, e necessario um cliente Telnet
conectado via TCP/IP ao hospedeiro do SupsNET.

Caso o servidor nao aceite a senha digitada, verifique se a senha cadastrada
nao possui caracteres especiais, como letras acentuadas. A senha deve conter
apenas caracteres ASCII padrao.

Se o hospedeiro estiver em uma rede isolada por um "firewall", ele pode
permanecer invisivel para hospedeiros externos, o que pode impossibilitar a
supervisao remota do no-break. Se este for o caso, contacte o administrador da
sua rede obter solucoes alternativas.

Se a conexao Telnet puder ser estabelecida mas a mensagem "Senha:" nao aparecer,
pode haver um outro cliente Telnet ja conectado ao servidor. Neste caso, a unica
alternativa e esperar a primeira conexao ser encerrada.


5. Servidor HTTP
   -------------

5.1. Funcionamento
     -------------

O servidor HTTP permite a configuracao e a supervisao do no-break atraves de um
browser para Internet/Intranet, atraves do protocolo HTTP versao 1.0.

O servidor HTTP e monousuario, ou seja, aceita apenas uma conexao por vez.
Qualquer browser compativel com o protocolo pode ser utilizado, independente da
plataforma (Windows, UNIX, DOS, etc).

A pagina inicial esta sempre disponivel para qualquer cliente que tenha acesso
ao hospedeiro do SupsNET. As demais paginas exigem o uso de senhas de acesso,
configuradas no menu Opcoes / HTTP. Ha tres niveis de acesso (em ordem
decrescente de restricao): consultas, configuracoes e atuacoes (a senha de
atuacao, por exemplo, permite o acesso aos tres niveis). Apenas a senha e
utilizada para o controle de acesso, o nome do usuario nao e relevante. 

A pagina com os dados de status do no-break e refrescada automaticamente com o
tempo especificado no periodo de supervisao. As demais paginas precisam ser
carregadas novamente para serem atualizadas.
 
O servidor HTTP nao interfere na supervisao do no-break, operando de maneira
independente.


5.2. Configuracao
     ------------

As opcoes relativas ao servidor HTTP sao configuradas no menu Opcoes / HTTP:

Porto:  o numero (em decimal) do porto TCP utilizado pelo servidor HTTP para
aceitar conexoes. O valor padrao para este servio e definido como 80.

Ativo:  o servidor HTTP permanece disponivel somente se esta opcao estiver
selecionada.

Senha de consulta:  senha para acesso as consultas (status, estatisticas, etc).

Senha de configuracao:  senha para acesso as consultas e as configuracoes do
SupsNET e do no-break.

Senha de atuacao:  senha acesso as consultas, configuracoes e para atuacao
(programacao horaria, ligar/desligar).

5.3. Resolucao de problemas
     ----------------------

Para testar a funcionalidade do servidor HTTP, e necessario um browser
conectado via TCP/IP ao hospedeiro do SupsNET.

Se o hospedeiro estiver em uma rede isolada por um "firewall", ele pode
permanecer invisivel para hospedeiros externos, o que pode impossibilitar a
supervisao remota do no-break. Se este for o caso, contacte o administrador da
sua rede obter solucoes alternativas.


A. Apendices
   ---------

A.1. Depuracao (Debug)
     -----------------

A opcao de "debug" pode ser usada quando se deseja acompanhar com detalhes o
funcionamento interno do SupsNET. Normalmente nao e recomendado ativar esta
opcao, pois isto faz com que o desempenho seja afetado. A sua principal
utilizacao e fornecer informacoes a equipe de suporte quando da ocorrencia de
problemas.

Para utilizar o debug, deve-se encerrar o SupsNET e dispara-lo com os seguintes
parametros no arquivo de configuracao:

LigaDebug=1
Niveldebug=0xff

Alem disso, deve-se especificar o nome do arquivo onde serao gravadas as
informacoes de debug no parametro ArquivoDebug (incluindo o diretorio, se
necessario). Ao final deve-se desativar esta opcao para que o SupsNET nao
permaneca gravando as informacoes continuamente.

O arquivo gerado pode, entao, ser enviado a equipe de suporte para analise.


A.2. Arquivo de configuracao
     -----------------------

Exemplo de um arquivo de configuracao:

[SupsNET]
Serial=/dev/ttya
Velocidade=9600
Palavra=N81
Gerente=127.0.0.1
Comunidade=public
ComunidadeTrap=snmp_trap
Periodo=30
UsaSenha=0
Senha=engetron
ArquivoDebug=s.txt
NivelDebug=0x3f
LigaDebug=0
Telnet=9023
SenhaTelnet=engetron
SessaoTelnet=6
SNMP=161
SNMPTrap=162
SNMPComplementar=5161
Descricao=Engetron
HTTP=9080
EnviaMensagem=1
EnviaComando=0
EnviaShutdown=0
EnviaShutdownFalta=0
EnviaShutdownProgHora=0
TempoMensagem=8
TempoComando=5
TempoShutdown=2
TempoShutdownFalta=5
TempoShutdownProgHora=5
Mensagem=Salvem seus arquivos.
Comando=preshut
SenhaConsulta=engetron
SenhaConfig=engetron1
SenhaAtuacao=engetron2
AtivaHTTP=1
AtivaTelnet=1
AtivaSNMP=0
AtivaSNMPc=0

OBS: o parametro Velocidade e ajustado automaticamente pelo SupsNET.
